Language-Oriented Programming: The Next Programming Paradigm
نویسندگان
چکیده
Ideally, being a programmer means I can do anything on a computer. I have complete freedom, complete control. But in reality, programmers today have very It is time to begin the next technology revolution in software development, and the shape of this revolution is becoming more and more clear. The next programming paradigm is nearly upon us. It is not yet fully formed—different parts have different names: Intentional programming, MDA, generative programming, etc. I suggest uniting all of these new approaches under one name, ‘language-oriented programming’, and this article explains the main principles of this new programming paradigm. Today’s mainstream approach to programming has some crucial built-in assumptions which hold us back like chains around our necks, though most programmers don’t realize this. With all the progress made so far in programming, we are still in the Stone Age. We’ve got our trusty stone axe (object-oriented programming), which serves us well, but tends to chip and crack when used against the hardest problems. To advance beyond stone, we must tame fire. Only then can we forge new tools and spark a new age of invention and an explosion of new technologies. I’m talking about the limitations of programming which force the programmer to think like the computer rather than having the computer think more like the programmer. These are serious, deeply-ingrained limitations which will take a lot of effort to overcome. I’m not being pretentious when I say that this will be the next big paradigm shift in programming. We will need to completely redefine the way we write programs. In this article, I present my view and my current work toward Language Oriented Programming (LOP). First I will show what is wrong with mainstream programming today, then I’ll explain the concept of LOP by using the example of my existing implementation, the Meta Programming System (MPS). This article is intended to give you a bird’s-eye-view of LOP, to spark interest in the idea, and hopefully to generate feedback and discussion.
منابع مشابه
Declarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey
One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...
متن کاملMulti-Agent Environment MAGE
Agent-oriented programming is being thought as the next generation programming paradigm after the object-oriented programming. A multi-agent environment, MAGE, will be introduced in this paper, which is a platform for rapidly developing distributed, heterogeneous multi-agent systems. What MAGE provides includes a general running framework for agents,an agent description language(ADL),an agent c...
متن کاملAmalgamating Multiple Programming Paradigms in PROLOG
This paper discusses the issues in amalgamating multiple programming paradigms in the logic programming language, Prolog. It is shown that multiple paradigms can be incorporated without disturbing logic programming language features and efficiency. It also introduces a new programming paradigm called the relation-oriented paradigm. The research results are reflected in the implementation of the...
متن کاملAntelope : data analysis with object - oriented programming and constraints ∗
This paper describes a small, experimental data analysis system, called Antelope, which was developed to explore two related topics: • A representation of statistical data in an object-oriented programming language. • A constraint-oriented paradigm for statistical graphics.
متن کاملLanguage-Oriented Programming Via DSL Stacking
According to the paradigm of Language-Oriented Programming, an application for a problem should be implemented in the most appropriate domain-specific language (DSL). This paper introduces DSL stacking, an efficient method for implementing Language-Oriented Programming where DSLs and general-purpose languages are incrementally developed on top of a base language. This is demonstrated with compo...
متن کامل